-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
update minio to 2022-10-24T18-35-07Z #5555
base: master
Are you sure you want to change the base?
Conversation
@fgma as #5430 is merged, it is possible to have space (and other special characters) in minio password entered in the install- or upgrade-wizard. |
5ec0b5f
to
bb20bb4
Compare
Sorry, I've made a mistake and messed up the merge. |
Yes, I think you still want to update to |
bb20bb4
to
70cba4a
Compare
Should be OK now. |
Anything left here? |
We should add some information to the changelog, regarding that future versions will not be compatible with this one. |
I've updated the changelog. My idea was to get this update out so everyone has at least this version and new installations will not need a migration. Migration is a separate step for me. Any ideas on how we should handle this? I don't see any chance doing this automatically because one would need the same amount of temporary storage used by data stored in minio (at least in the biggest bucket) which is not possible to guarantee. |
I've upgraded my whole setup to this version for production use. How are we going to continue from here? I'd like to continue upgrading to the latest minio release as soon as possible. |
@th0ma7 Not for me. I've used the manual shared folder creation on my system as a workaround. |
The target of #5649 will be an independent solution to fix the shared folders. |
Anything left for me to do do get this finally merged? The currently available version has at least two problems:
We need a strategy to get this finally resolved. |
I may be able to provide a review over the weekend although from a strategy standpoint it needs a volunteer to take it over (unless that would be you, haven't followed this thread in particular) |
I can't decide how the migration path should look like. I've opened a thread for discussing the issue almost a year ago which received no reaction at all: #5549 After doing my own migration I'm pretty sure any automation would result in a disaster. It took me multiple weeks for a few terrabytes because tools would timeout all the time and miss file etc. Maybe we need to create a new package or something like that. Getting this update out would at least would save new users from a migration their data. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
So considering the other changes are in (thnx @hgy59) i guess this is a rather trivial update. What I would suggest is adding a wizard with a single page to explain that this will be the LAST version compatible with the older format. You would need to add that as well to the changelog so it is more obvious as info would be hands-on even prior to installing. On top of that, I'd suggest creating a "new" package for the "new" format, perhaps called Guessing there will be issues to be sorted out relatively to ports in usage or else? You could then create a wiki page in spksrc github section to explain how to migrate from Otherwise, as-is it looks fine. The above proposal can be done at a later while creating the "new" package where the older one can be re-published with the added wizard and info in the changelog. My two cents... |
I've added a step in the wizard explaining the situation to the user. This ready for me. After the merge I would create a new package based on a copy of the released version and upgrade it to the current minio release. |
@fgma sorry for my late review Looking at the details of the migration I got some new ideas. This minio package provides the wizard options to chose the shared folder independent of new installation or package update. In either case, you can use a folder with or without a minio configuration. Since the current version and the version in this PR supports the legacy FS and the SNSD (Single-Node Single-Drive) mode, we should now use the SNSD-Mode when the shared folder does not contain a minio configuration. The installer could check whether the shared folder already contains a minio configuration and either configure minio server for legacy FS or SNSD mode. I suppose the minio server mode can be recognized with the file {
"version": "1",
"format": "fs",
"id": "05583150-3d04-4058-bc30-7e8600932b87",
"fs": {
"version": "2"
}
} I highly recommend that this update uses the SNSD mode by default so it is useful for the migration of existing installations. @fgma what do you think about it? EDIT: {
"version": "1",
"format": "xl-single",
"id": "83ac901d-9fc8-42a5-afd8-dc2e694795bb",
"xl": {
"version": "3",
"this": "46b08f42-a295-4b04-9d43-a8d99dddfc8d",
"sets": [
[
"46b08f42-a295-4b04-9d43-a8d99dddfc8d"
]
],
"distributionAlgo": "SIPMOD+PARITY"
}
} So for future updates there is no need to create a new package (with a different name), but the installer must refuse the installation/update when the selected shared folder exists and contains an incompatible (legacy FS) configuration. |
@fgma The minio console displays the version |
@hgy59 I'll try to get the fixes done during the next days. Concerning bucket versioning: I've verified what you already noticed. When creating a new install even older versions of minio already create SNSD based data by default for a new installation. I've just tested this on version 2022-10-24T18-35-07Z and 2022-09-07T22-25-02Z (current version packaged) using official minio binaries on windows. The issue is mainly a problem for all long term users already having data stored inside minio using quite old releases for the initial install. How does one gracefully stop an installation? We would need to dynamically detect the data version after the user has selected the storage location and then decide if we can continue or stop with an error. Is there is something similar in the codebase already? |
6ecaa70
to
5453909
Compare
fixed in 6727bb7 |
Any feedback on this? |
How can we move forward with this? |
This PR is lacking migration to redesigned shared folder handling.
should be replaced by
Then the install_uifile has to be adjusted (remove volume configuration) probably it is better to rename the variable wizard_data_directory to wizard_share_name to reflect the fact that it is the name of the share and not a full path anymore. finally upgrade_uifile.sh and service-setup.sh have to be adjusted for the shared folder. There is a good example of modifications in spk/owncloud/ by @mreid-tt |
Sorry for my late reply. Just echo an "ERROR TEXT" and use "exit 1" in a validate function to refuse the installation or upgrade of the package (you find commented examples in spk/demoservice/src/service-setup.sh). All such functions (service_* and validate_*) are called after wizard pages are completed and the installation or upgrade is started. |
… minio-2023-01-02
- adjust wizard for shared folders - use SHARE_PATH variable instead of WIZARD_DATA_VOLUME and WIZARD_DATA_DIRECTORY
- add notes to the installation wizard that the "Migration notes" apply only when the shared folder already contains a minio data structure - evaluate existing data format in upgrade wizard and show related "Migration notes" - reusing an existing installation with the new format will have no upgrade issues - reusing an existing installation with the filesystem format will not get any future update - when changing the shared folder on upgrade, the data format is unknown and it is unknown whether future updates will work - add link to the 'Migrate from Gateway or Filesystem Mode' page
@fgma glad to tell you that this old pending PR is about to be ready to merge. The redesinged shared folder handling is implemented and wizards are adjusted. I shortened the Information about migration in the wizards and created a wiki page showing the detailed migration procedure. Future versions only need a validation of the data format to refuse installation/upgrade if FS format is found in the shared folder. I know you can't test this since you've already migrated your installation, but having a second set of eyes on it is still welcome. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@hgy59 just got back, I havent build & tested but overall changes looked good to me. And makes me wonder if the
vcs` related build options wouldn't be of interest to use for one of my other PR relatively to IGC stack.
Is this ready to go (followed by #6221)? |
Description
Update minio to 2022-10-24T18-35-07Z. This is the last release supporting the legacy FS backend. Details see #5549
Checklist
all-supported
completed successfullyType of change